#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>

int g_val = 0;
int main()
{
    pid_t id = fork();
    if(id < 0)
    {
        perror("fork");
        return 0;
    }
    else if(id == 0)
    {
        // child 子进程先跑完，因为子进程先修改，完成之后，父进程再读取
        g_val = 100;
        printf("child[%d]: %d : %p\n",getpid(), g_val, &g_val);
    }
    else 
    {
        // parent
        sleep(3);
        printf("parent[%d]: %d : %p\n",getpid(), g_val, &g_val);
    }
    sleep(1);

    return 0;
}
